package the.broccoli.uc.service;

import org.wisteria.framework.web.mvc.service.ISuperService;
import the.broccoli.uc.entity.Role;
import the.broccoli.uc.vo.RoleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * <p>
 * 角色 服务类
 * </p>
 *
 * @author lei.liu
 * @since 2018-10-29
 */
public interface IRoleService extends ISuperService<Role> {

    /**
     * 新增角色
     *
     * @param roleName     角色名称
     * @param roleCode     角色编号
     * @param remark       备注
     * @param operatorId   操作人ID
     * @param operatorName 操作人名称
     * @param tenantId     租户ID
     */
    boolean save(String roleName, String roleCode, String remark, String operatorId, String operatorName, String tenantId);

    /**
     * 修改角色
     * @param roleId        角色ID
     * @param roleName      角色名称
     * @param roleCode      角色编码
     * @param remark        备注
     * @param operatorId    操作人ID
     * @param operatorName  操作人名称
     * @return
     */
    boolean update(String roleId, String roleName, String roleCode, String remark, String operatorId, String operatorName);

    /**
     * 分页查询
     *
     * @param vo        查询条件
     * @param pageIndex 页码
     * @param pageSize  每页记录大小
     * @return 查询结果列表
     */
    IPage selectPageVO(RoleVO vo, Long pageIndex, Long pageSize);
}
